package org.dromara.run.domain.vo;

import java.sql.Time;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import jakarta.validation.constraints.NotBlank;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.run.domain.Rule;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;



/**
 * 跑步规则表视图对象 phy_run_rule
 *
 * @author chl
 * @date 2024-09-03
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = Rule.class)
public class RuleVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @ExcelProperty(value = "主键")
    private Long ruleId;

    /**
     * 租户编号
     */
    private String tenantId;

    /**
     * 规则名称
     */
    @ExcelProperty(value = "规则名称")
    private String ruleName;

    /**
     * 学期时段开始
     */
    @ExcelProperty(value = "学期时段开始")
    private Date semesterPeriodBegin;

    /**
     * 学期时段结束
     */
    @ExcelProperty(value = "学期时段结束")
    private Date semesterPeriodEnd;

    /**
     * 规则时间段开始
     */
    @ExcelProperty(value = "规则时间段开始")
    private Date ruleTimeBegin;

    /**
     * 规则时间段结束
     */
    @ExcelProperty(value = "规则时间段结束")
    private Date ruleTimeEnd;

    /**
     * 总次数
     */
    @ExcelProperty(value = "总次数")
    private Long totalRequired;

    /**
     * 课外跑
     */
    @ExcelProperty(value = "课外跑")
    private String extraRunId;

    /**
     * 晨跑
     */
    @ExcelProperty(value = "晨跑")
    private String morningRunId;

    /**
     * 活动形式名称
     */
    @ExcelProperty(value = "活动形式名称")
    private String extraActivityName;

    /**
     * 有效跑步次数
     */
    @ExcelProperty(value = "有效跑步次数")
    private Long extraRequiredTimes;

    /**
     * 跑步里程范围起始
     */
    @ExcelProperty(value = "跑步里程范围起始")
    private Long extraDistanceBegin;

    /**
     * 跑步里程范围结束
     */
    @ExcelProperty(value = "跑步里程范围结束")
    private Long extraDistanceEnd;

    /**
     * 跑步时间起始
     */
    @ExcelProperty(value = "跑步时间起始")
    private Time extraRunTimeBegin;

    /**
     * 跑步时间结束
     */
    @ExcelProperty(value = "跑步时间结束")
    private Time extraRunTimeEnd;

    /**
     * 配速标准开始
     */
    @ExcelProperty(value = "配速标准开始")
    private String extraStandardBegin;

    /**
     * 配速标准结束
     */
    @ExcelProperty(value = "课外配速标准结束")
    private String extraStandardEnd;

    /**
     * 活动形式名称
     */
    @ExcelProperty(value = "活动形式名称")
    private String morningActivityName;

    /**
     * 有效跑步次数
     */
    @ExcelProperty(value = "有效跑步次数")
    private Long morningRequiredTimes;

    /**
     * 跑步里程范围起始
     */
    @ExcelProperty(value = "跑步里程范围起始")
    private Long morningDistanceBegin;

    /**
     * 跑步里程范围结束
     */
    @ExcelProperty(value = "跑步里程范围结束")
    private Long morningDistanceEnd;

    /**
     * 跑步时间起始
     */
    @ExcelProperty(value = "跑步时间起始")
    private Time morningRunTimeBegin;

    /**
     * 跑步时间结束
     */
    @ExcelProperty(value = "跑步时间结束")
    private Time morningRunTimeEnd;

    /**
     * 配速标准开始
     */
    @ExcelProperty(value = "配速标准开始")
    private String morningStandardBegin;

    /**
     * 配速标准结束
     */
    @ExcelProperty(value = "课外配速标准结束")
    private String morningStandardEnd;

    private String gender;

    private double mileageBegin;

    private double mileageEnd;

}
